Sensor Fusion for Kinetis MCUs (ISSDK/KSDK version)
MagCalibration Struct Reference

Data Fields

float fV [3]
 
float finvW [3][3]
 
float fB
 
float fBSq
 
float fFitErrorpc
 
int32_t iValidMagCal
 
float ftrV [3]
 
float ftrinvW [3][3]
 
float ftrB
 
float ftrFitErrorpc
 
float fA [3][3]
 
float finvA [3][3]
 
float fmatA [10][10]
 
float fmatB [10][10]
 
float fvecA [10]
 
float fvecB [4]
 
float fYTY
 
int32_t iSumBs [3]
 
int32_t iMeanBs [3]
 
int32_t itimeslice
 
int8_t iCalInProgress
 
int8_t iNewCalibrationAvailable
 
int8_t iInitiateMagCal
 
int8_t iMagBufferReadOnly
 
int8_t i4ElementSolverTried
 
int8_t i7ElementSolverTried
 
int8_t i10ElementSolverTried
 

Detailed Description

Definition at line 72 of file magnetic.h.

Field Documentation

float fA[3][3]
float fB

current geomagnetic field magnitude (uT)

Definition at line 77 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), fRun_6DOF_GY_KALMAN(), and fRunMagCalibration().

float fBSq

square of fB (uT^2)

Definition at line 78 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRun_6DOF_GY_KALMAN(), and fRunMagCalibration().

float fFitErrorpc

current fit error %

Definition at line 79 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), and fRunMagCalibration().

float finvA[3][3]

inverse of ellipsoid matrix A

Definition at line 88 of file magnetic.h.

Referenced by fComputeMagCalibration10(), and fUpdateMagCalibration10Slice().

float finvW[3][3]

current inverse soft iron matrix

Definition at line 76 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), fInvertMagCal(), and fRunMagCalibration().

float fmatA[10][10]

scratch 10x10 float matrix used by calibration algorithms

Definition at line 89 of file magnetic.h.

Referenced by fComputeMagCalibration10(), fComputeMagCalibration4(), fComputeMagCalibration7(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

float fmatB[10][10]

scratch 10x10 float matrix used by calibration algorithms

Definition at line 90 of file magnetic.h.

Referenced by fComputeMagCalibration10(), fComputeMagCalibration4(), fComputeMagCalibration7(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

float fV[3]

current hard iron offset x, y, z, (uT)

Definition at line 75 of file magnetic.h.

Referenced by CreateAndSendPackets(), fInitializeMagCalibration(), fInvertMagCal(), and fRunMagCalibration().

float fvecA[10]
float fvecB[4]

scratch 4x1 vector used by calibration algorithms

Definition at line 92 of file magnetic.h.

Referenced by fComputeMagCalibration4(), and fUpdateMagCalibration4Slice().

float fYTY

Y^T.Y for 4 element calibration = (iB^2)^2.

Definition at line 93 of file magnetic.h.

Referenced by fUpdateMagCalibration4Slice().

int8_t i10ElementSolverTried

flag to denote at least one attempt made with 4 element calibration

Definition at line 103 of file magnetic.h.

Referenced by fInitializeMagCalibration(), and fRunMagCalibration().

int8_t i4ElementSolverTried

flag to denote at least one attempt made with 4 element calibration

Definition at line 101 of file magnetic.h.

Referenced by fInitializeMagCalibration(), and fRunMagCalibration().

int8_t i7ElementSolverTried

flag to denote at least one attempt made with 4 element calibration

Definition at line 102 of file magnetic.h.

Referenced by fInitializeMagCalibration(), and fRunMagCalibration().

int8_t iCalInProgress

flag denoting that a calibration is in progress

Definition at line 97 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

int8_t iInitiateMagCal

flag to start a new magnetic calibration

Definition at line 99 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

int8_t iMagBufferReadOnly

flag to denote that the magnetic measurement buffer is temporarily read only

Definition at line 100 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), fUpdateMagCalibration7Slice(), and processMagData().

int32_t iMeanBs[3]

average magnetic measurement (counts)

Definition at line 95 of file magnetic.h.

Referenced by fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

int8_t iNewCalibrationAvailable

flag denoting that a new calibration has been computed

Definition at line 98 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRunMagCalibration(), fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

int32_t iSumBs[3]

sum of measurements in buffer (counts)

Definition at line 94 of file magnetic.h.

Referenced by fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

int32_t itimeslice

counter for tine slicing magnetic calibration calculations

Definition at line 96 of file magnetic.h.

Referenced by fUpdateMagCalibration10Slice(), fUpdateMagCalibration4Slice(), and fUpdateMagCalibration7Slice().

int32_t iValidMagCal

solver used: 0 (no calibration) or 4, 7, 10 element

Definition at line 80 of file magnetic.h.

Referenced by fInitializeMagCalibration(), fRun_6DOF_GY_KALMAN(), and fRunMagCalibration().


The documentation for this struct was generated from the following file: